package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

// sendRequest 函数用于向指定 URL 发送请求
func sendRequest(method, url string, body []byte) (*http.Response, error) {
	req, err := http.NewRequest(method, url, bytes.NewBuffer(body))
	if err != nil {
		return nil, err
	}
	client := &http.Client{}
	return client.Do(req)
}

func main() {
	// 请替换为你要访问的实际服务器 IP 地址和端口
	ip := "172.1.4.183"
	port := "8080"
	path := "/"
	url := fmt.Sprintf("http://%s:%s%s", ip, port, path)

	method := "GET"           // 可根据需要修改请求方法，如 "POST"
	requestBody := []byte("") // 可根据需要修改请求体

	for i := 0; i < 10; i++ {
		resp, err := sendRequest(method, url, requestBody)
		if err != nil {
			fmt.Printf("第 %d 次访问出错: %v\n", i+1, err)
			continue
		}
		defer resp.Body.Close()

		respBody, err := io.ReadAll(resp.Body)
		if err != nil {
			fmt.Printf("第 %d 次读取响应体出错: %v\n", i+1, err)
			continue
		}

		fmt.Printf("第 %d 次访问，状态码: %d，响应体: %s\n", i+1, resp.StatusCode, string(respBody))
	}
}
